using System;
using System.Collections.Generic;

namespace SmartHRMS.Infrastructure
{
    public interface IRepository<T>
    {
        void Save(T Entity);

        void Remove(T Entity);

        T FindBy(Guid Id);

        IList<T> FindBy(SmartHRMS.Infrastructure.Query.Query Query);

        IList<T> FindAll();

        void Inject(IUnitOfWork UnitOfWork);
    }
}
